
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  labels:
    heritage: deckhouse
    module: cloud-provider-vcd
    cluster.x-k8s.io/provider: vcd
    cluster.x-k8s.io/v1beta1: v1beta2
  annotations:
    controller-gen.kubebuilder.io/version: v0.4.1
  name: vcdclusters.infrastructure.cluster.x-k8s.io
spec:
  group: infrastructure.cluster.x-k8s.io
  names:
    kind: VCDCluster
    listKind: VCDClusterList
    plural: vcdclusters
    singular: vcdcluster
  scope: Namespaced
  versions:
  - name: v1beta2
    schema:
      openAPIV3Schema:
        description: VCDCluster is the Schema for the vcdclusters API
        properties:
          apiVersion:
            description: 'APIVersion defines the versioned schema of this representation
              of an object. Servers should convert recognized schemas to the latest
              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
            type: string
          kind:
            description: 'Kind is a string value representing the REST resource this
              object represents. Servers may infer this from the endpoint the client
              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
            type: string
          metadata:
            type: object
          spec:
            description: VCDClusterSpec defines the desired state of VCDCluster
            properties:
              controlPlaneEndpoint:
                description: APIEndpoint represents a reachable Kubernetes API endpoint.
                properties:
                  host:
                    description: Host is the hostname on which the API server is serving.
                    type: string
                  port:
                    description: Port is the port on which the API server is serving.
                    type: integer
                required:
                - host
                - port
                type: object
              loadBalancerConfigSpec:
                description: LoadBalancerConfig defines load-balancer configuration
                  for the Cluster both for the control plane nodes and for the CPI
                properties:
                  useOneArm:
                    description: UseOneArm defines the intent to une OneArm when upgrading
                      CAPVCD from 0.5.x to 1.0.0
                    type: boolean
                  vipSubnet:
                    type: string
                type: object
              org:
                type: string
              ovdc:
                type: string
              ovdcNetwork:
                type: string
              parentUid:
                type: string
              proxyConfigSpec:
                description: ProxyConfig defines HTTP proxy environment variables
                  for containerd
                properties:
                  httpProxy:
                    type: string
                  httpsProxy:
                    type: string
                  noProxy:
                    type: string
                type: object
              rdeId:
                type: string
              site:
                type: string
              useAsManagementCluster:
                default: false
                type: boolean
              userContext:
                properties:
                  password:
                    type: string
                  refreshToken:
                    type: string
                  secretRef:
                    description: SecretReference represents a Secret Reference. It
                      has enough information to retrieve secret in any namespace
                    properties:
                      name:
                        description: name is unique within a namespace to reference
                          a secret resource.
                        type: string
                      namespace:
                        description: namespace defines the space within which the
                          secret name must be unique.
                        type: string
                    type: object
                  username:
                    type: string
                type: object
            required:
            - org
            - ovdc
            - ovdcNetwork
            - site
            - userContext
            type: object
          status:
            description: VCDClusterStatus defines the observed state of VCDCluster
            properties:
              conditions:
                description: Conditions defines current service state of the VCDCluster.
                items:
                  description: Condition defines an observation of a Cluster API resource
                    operational state.
                  properties:
                    lastTransitionTime:
                      description: Last time the condition transitioned from one status
                        to another. This should be when the underlying condition changed.
                        If that is not known, then using the time when the API field
                        changed is acceptable.
                      format: date-time
                      type: string
                    message:
                      description: A human readable message indicating details about
                        the transition. This field may be empty.
                      type: string
                    reason:
                      description: The reason for the condition's last transition
                        in CamelCase. The specific API may choose whether or not this
                        field is considered a guaranteed API. This field may not be
                        empty.
                      type: string
                    severity:
                      description: Severity provides an explicit classification of
                        Reason code, so the users or machines can immediately understand
                        the current situation and act accordingly. The Severity field
                        MUST be set only when Status=False.
                      type: string
                    status:
                      description: Status of the condition, one of True, False, Unknown.
                      type: string
                    type:
                      description: Type of condition in CamelCase or in foo.example.com/CamelCase.
                        Many .condition.type values are consistent across resources
                        like Available, but because arbitrary conditions can be useful
                        (see .node.status.conditions), the ability to deconflict is
                        important.
                      type: string
                  required:
                  - lastTransitionTime
                  - status
                  - type
                  type: object
                type: array
              infraId:
                type: string
              loadBalancerConfig:
                description: LoadBalancerConfig defines load-balancer configuration
                  for the Cluster both for the control plane nodes and for the CPI
                properties:
                  useOneArm:
                    description: UseOneArm defines the intent to une OneArm when upgrading
                      CAPVCD from 0.5.x to 1.0.0
                    type: boolean
                  vipSubnet:
                    type: string
                type: object
              org:
                description: optional
                type: string
              ovdc:
                description: optional
                type: string
              ovdcNetwork:
                description: optional
                type: string
              parentUid:
                type: string
              proxyConfig:
                description: ProxyConfig defines HTTP proxy environment variables
                  for containerd
                properties:
                  httpProxy:
                    type: string
                  httpsProxy:
                    type: string
                  noProxy:
                    type: string
                type: object
              rdeVersionInUse:
                default: 1.1.0
                description: RdeVersionInUse indicates the version of capvcdCluster
                  entity type used by CAPVCD.
                type: string
              ready:
                default: false
                description: Ready denotes that the vcd cluster (infrastructure) is
                  ready.
                type: boolean
              site:
                description: optional
                type: string
              useAsManagementCluster:
                type: boolean
              vappMetadataUpdated:
                description: MetadataUpdated denotes that the metadata of Vapp is
                  updated.
                type: boolean
              vcdResourceMap:
                description: optional
                properties:
                  ovdcs:
                    description: VCDResources stores the latest ID and name of VCD
                      resources for specific resource types.
                    items:
                      description: VCDResource restores the data structure for some
                        VCD Resources
                      properties:
                        id:
                          type: string
                        name:
                          type: string
                        type:
                          type: string
                      required:
                      - id
                      - name
                      type: object
                    type: array
                type: object
            required:
            - rdeVersionInUse
            - ready
            type: object
        required:
        - spec
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
